package com.wd.live.view;

import android.content.Intent;
import android.graphics.Bitmap;
import android.view.View;
import android.widget.Toast;


import com.huawei.hms.mlplugin.card.bcr.MLBcrCapture;
import com.huawei.hms.mlplugin.card.bcr.MLBcrCaptureConfig;
import com.huawei.hms.mlplugin.card.bcr.MLBcrCaptureFactory;
import com.huawei.hms.mlplugin.card.bcr.MLBcrCaptureResult;
import com.wd.live.R;
import com.wd.live.base.BaseActivity;
import com.wd.live.base.BaseViewModel;
import com.wd.live.databinding.ActivityBDbankcardBinding;
import com.wd.live.model.utils.ToastFormat;
import com.wd.live.view.BDActivity;
import com.wd.live.viewmodel.BDbankCardViewModel;

import retrofit2.http.POST;

public class BDbankcardActivity extends BaseActivity<BDbankCardViewModel, ActivityBDbankcardBinding> {

    private String accountName;
    private String cardNumber;
    private String name;

    @Override
    protected void initData() {

        databind.xinFan.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finish();
            }
        });
        databind.yhkz.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                startCaptureActivity(callback);
            }
        });
    }

    @Override
    protected int initLayout() {
        return R.layout.activity_b_dbankcard;
    }

    @Override
    public void onChanged(Object o) {

    }
    private MLBcrCapture.Callback callback = new MLBcrCapture.Callback() {
        @Override @POST("live-user/verify/bindBankCard")
        public void onSuccess(MLBcrCaptureResult bankCardResult){
            // 识别成功处理。
            databind.textG.setVisibility(View.GONE);
            databind.sureBtn.setVisibility(View.VISIBLE);
            ToastFormat.setText(bankCardResult+"");
            ToastFormat.show();
            databind.yhkz.setImageBitmap(bankCardResult.getOriginalBitmap());
            databind.sureBtn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Intent intent = new Intent(BDbankcardActivity.this, BDActivity.class);
                    intent.putExtra("BDnum",bankCardResult.getNumber());
                    intent.putExtra("fxr",bankCardResult.getIssuer());
                    startActivity(intent);
                    finish();
                }
            });
        }
        @Override
        public void onCanceled(){
            // 用户取消处理。
        }
        // 识别不到任何文字信息或识别过程发生系统异常的回调方法。
        // retCode：错误码。
        // bitmap：检测失败的卡证图片。
        @Override
        public void onFailure(int retCode, Bitmap bitmap){
            // 识别异常处理。
        }
        @Override
        public void onDenied(){
            // 相机不支持等场景处理。
        }   };
    private void startCaptureActivity(MLBcrCapture.Callback callback) {
        MLBcrCaptureConfig config = new MLBcrCaptureConfig.Factory()
                // 设置识别界面横竖屏，支持三种模式：
                // MLBcrCaptureConfig.ORIENTATION_AUTO: 自适应模式，由物理感应器决定显示方向。
                // MLBcrCaptureConfig.ORIENTATION_LANDSCAPE: 横屏模式。
                // MLBcrCaptureConfig.ORIENTATION_PORTRAIT: 竖屏模式。
                .setOrientation(MLBcrCaptureConfig.ORIENTATION_AUTO)
                .create();
        MLBcrCapture bankCapture = MLBcrCaptureFactory.getInstance().getBcrCapture(config);
        bankCapture.captureFrame(this, callback); }


}